/**
 * 收费服务接口
 */
package com.p2p.front.service;

import com.p2p.base.model.Money;
import com.p2p.front.enums.ChargeType;
import com.p2p.front.result.ChargeResult;

/**
 * @author ruiqi
 *
 */
public interface ChargeService {

	/**
	 * 从余额扣费，ChargeType为收费类型
	 * 
	 * @param chargeType
	 * @param accountNo
	 * @param fee
	 * @param momo
	 * @return
	 */
    ChargeResult doChargeFromBalance(ChargeType chargeType,String accountNo,Long userId,Money fee,String momo);
	
	/**
	 * 扣除利息所得费，传入用户和利息所得
	 * 
	 * @param userId
	 * @param interest
	 * @return
	 */
    ChargeResult doChargeForInterest(String userId,Money interest);
    
	/**
	 * 根据userId和利息，计算利息管理费
	 * @param userId
	 * @param interest
	 * @return
	 */
	Money buildInterestManagementFee(String userId, Money interest) ;
}
